home *** CD-ROM | disk | FTP | other *** search
/ SGI Freeware 1998 November / Freeware November 1998.img / dist / fw_TDplan.idb / usr / freeware / bin / plan.help.z / plan.help
Text File  |  1997-09-09  |  72KB  |  1,712 lines

  1. #
  2. # help pulldown choices
  3. #
  4. %% intro
  5.     INTRODUCTION
  6.  
  7.     This program combines the functions of the various graphical calendar
  8.     tools, and an alarm facility such as calendar(1). In the main window,
  9.     a month calendar is displayed, consisting of 28..31 day boxes. Into
  10.     each of these day boxes, appointments may be entered that trigger on
  11.     that day, at a particular time.
  12.  
  13.     To enter an appointment, click on the daybox the appointment should
  14.     go into. An appointment list popup appears. Click on the top "time"
  15.     button. A date appears next to it, and there is a cursor in the time
  16.     button. Enter a time, such as "11:00", and press Return. Skip the
  17.     length button by pressing Return again. Now the rightmost button
  18.     has a cursor in it; enter a short description of the appointment
  19.     and press Return again. The appointment is now added; you can enter
  20.     another one or press Done to exit the menu. The appointment has now
  21.     appeared in the day box of the month calendar.
  22.  
  23.     An alternative way of entering appointments is the year calendar. It
  24.     is accessible from the Year pulldown menu of the main month calendar.
  25.     Its day boxes work exactly like those of the month calendar. Finally,
  26.     the week view allows editing appointments by double-clicking them.
  27.  
  28.     In addition to simply adding an appointment by date, time, and note,
  29.     various options such as repetitive appointments, advance warnings,
  30.     message texts, automatic execution of shell scripts etc. are available
  31.     in the appointment list menus.
  32.  
  33.     Appointments can also be entered from the command line, using a
  34.     command like
  35.  
  36.          plan 1015 wake up and go home
  37.  
  38.     The date and time is in date(1) format, [mmdd]hhmm.
  39.  
  40.     When plan started up, it may have complained that no daemon is running,
  41.     and offered to start one. The daemon is a separate program that waits
  42.     for appointments to trigger, and takes appropriate action when one
  43.     does. This means that without the daemon, no alarm will ever trigger.
  44.     It also means that this interactive program does not have to run for
  45.     alarm triggers, only the daemon always exists.
  46. %% help
  47.     GETTING HELP
  48.  
  49.     To get general help on a popup menu, press the Help button in that
  50.     popup menu.
  51.  
  52.     To get help on a pulldown menu in the main month calendar window,
  53.     install the pulldown menu by pressing and releasing the left mouse
  54.     button on the menubar button, then press the HELP or F1 keyboard key.
  55.  
  56.     Help on most buttons is available by choosing "On Context" in the Help
  57.     pulldown, and then pressing on a button or calendar. Every help window
  58.     contains a Context button that does the same thing as "On Context".
  59.  
  60.     Normally, the Help or F1 keyboard keys are not very helpful, because
  61.     many of the interesting items either have no shadow (so you don't
  62.     know which tab group member has focus), or are drawn using Xlib.
  63. %% trouble
  64.     TROUBLESHOOTING
  65.  
  66.     *  If plan refuses to change other users' appointments that were
  67.         attached with the Config->User list menu, saying "no permission",
  68.         make sure that you own the file. Having write permission is not
  69.         enough. You can override this safety feature by turning off the
  70.         "Only owner can write" mode in the Config->Calendar menu, but
  71.         do so with great care because multiple writers are not sequenced.
  72.  
  73.     *  If your screen saver stops working when plan is running, put a
  74.         line "Plan*showIconTime: False" into your ~/.Xdefaults file. If
  75.         plan updates the time in the icon, the screen saver timeout is
  76.         restarted, and never reaches timout because updates happen once
  77.         every minute. Only some X servers exhibit this problem.
  78.  
  79.     *  On SGI systems, if the icon doesn't show a picture, copy the icon
  80.         picture Plan.icon into your ~/.icons directory. If you don't have
  81.         one and don't want one, set the plan*noIcon resource to False in
  82.         your ~/.Xdefaults file. It may be necessary to restart 4Dwm to
  83.         register the icon after copying it to ~/.icons.
  84.  
  85.     *  If starting plan prints cpp errors to stderr (or pops up an error
  86.         dialog on SGIs if desktop error reporting is turned on), change
  87.         all '#' characters in your ~/.holiday to ':'. The comment
  88.         introducer was changed in version 1.3 to allow #include statements.
  89.  
  90.     *  If the main menu shows an incorrect time above the month calendar,
  91.         and alarms trigger an hour early or late, plan might have an
  92.         incorrect idea of your timezone and Daylight Saving Time status.
  93.         To correct this, choose "Adjust Time" from the Config pulldown,
  94.         and change the defaults.
  95.  
  96.     *  If the pulldowns in the main menu show labels like "button_3", add
  97.         -DNOMSEP to whatever xxx_C line you are using in the Makefile, and
  98.         recompile. If the problem persists, also add -DFIXMBAR.
  99.  
  100.     *  On some BSD-based systems, it takes a while for appointment
  101.         changes to propagate to the daemon. The result is that alarms that
  102.         trigger a few minutes after they were added or edited are ignored.
  103.         This is normal on these systems. However, if alarms don't trigger
  104.         at all, use the ps command (see man ps) to make sure that pland is
  105.         running, and verify that its process ID agrees with the number in
  106.         /tmp/.plandUID (with UID being your numerical user ID). Also, plan
  107.         may get out of sync if you start more than one, and answer Continue
  108.         in the warning dialog.
  109.  
  110.     *  Previous versions of plan contained a recommendation to put "killall
  111.         pland" into your .logout file. Don't do this, it kills the daemon
  112.         whenever you delete a window, and no more alarms will trigger.
  113.  
  114.     *  The plan program uses quite a few colormap entries. Although there
  115.         is a black&white fallback mode, you may have problems starting other
  116.         programs that also need many colormap entries. The only workaround
  117.         is to kill plan when you don't need it; alarms will trigger anyway.
  118.  
  119.     *  If radio and toggle buttons appear gray regardless of the colToggle
  120.         and colRed resources, make sure that the sgiMode resource is False.
  121.         In SGI desktop mode, colToggle and colRed are disabled because they
  122.         would override the desktop defaults. The sgiMode resource is True
  123.         only if plan was compiled with "make sgi5", add "plan*sgiMode: False"
  124.         to your ~/.Xdefaults file in this case, or recompile with "make sgi4".
  125.  
  126.     If you have problems you can't resolve, or if you have suggestions
  127.     for new features, or porting instructions for new platforms, send mail
  128.     to me at thomas@bitrot.in-berlin.de. Note that the plan version on the
  129.     SGI Developer's Toolbox CD supports only SGI systems. If you mail, do
  130.     not forget to include your version number as reported by "plan -v".
  131. %% files
  132.     FILES AND PROGRAMS
  133.  
  134.     The calendar program is distributed as three programs and two data
  135.     files: plan, pland, notifier, plan.help, and plan_cal.ps. Plan
  136.     should be installed in the directory given as DIR in the Makefile,
  137.     by default /usr/local/bin, and the others in the directory given as
  138.     LIB, also /usr/local/bin by default. The distribution also contains
  139.     .holiday files for various countries.
  140.  
  141.     "plan" is the main interactive calendar program that you are using at
  142.     the moment. It is used to view calendars and to enter appointments
  143.     at specified dates and times, with various optional parameters. It
  144.     depends on the plan.help file, and writes all configuration parameters
  145.     and appointments to two files ".dayplan" and ".dayplan.priv" in the
  146.     user's home directory. It signals the daemon (SIGHUP) when that file
  147.     changes, to force the daemon to re-read it.
  148.  
  149.     "pland" is the daemon. Its purpose is to watch alarms and warnings,
  150.     and to perform the appropriate action if one triggers. The "plan"
  151.     program need not run to trigger an alarm. "pland" is a very small
  152.     program with no X code, to avoid excessive system load. It reads the
  153.     ~/.dayplan* databases, but never writes to them. pland is normally
  154.     started by the user's .xsession or .sgisession file.
  155.  
  156.     "notifier" displays an ascii text in a color-coded window. It is a
  157.     separate program to keep "pland" small. It handles snoozing all by
  158.     itself.
  159.  
  160.     "plan.help" contains all the help messages.
  161.  
  162.     "plan_cal.ps" is a PostScript skeleton containing PostScript code
  163.     used by plan when printing calendars. This file can be used to change
  164.     the defaults for margins and fonts; future versions may use popup
  165.     menus for this task. Always keep the original version when editing it.
  166.  
  167.     "Plan.icon" is an SGI RGB picture file that should be copied to the
  168.     ~/.icons directory. On SGIs, the noIcon resource is set to True by
  169.     default to make 4Dwm use the full-color picture. It may be necessary
  170.     to restart 4Dwm to register the icon.
  171.  
  172.     In the user's home directory, there are three files. ".dayplan" contains
  173.     the public appointments (the ones without the padlock icon in the
  174.     appointment list menu, which can be displayed in other users' week
  175.     views). ".dayplan.priv" contains the private appointments (the ones
  176.     with a padlock, which cannot be accessed by other users). ".holiday"
  177.     contains a description of public holidays and vacations as specified
  178.     with the Define Holidays popup in the Config pulldown. For a description
  179.     of the .dayplan* format, see the plan(4) manpage.
  180.  
  181.     If the LIB directory (specified in the Makefile) contains a file
  182.     "holiday", it is read after ".holiday" to add system-wide holidays to
  183.     the user's holiday list.
  184.  
  185.     Both plan and pland use the environment variables $PATH, $PLAN_PATH, a
  186.     built-in default path, and the directories DIR and LIB specified in the
  187.     Makefile for locating programs and plan.help.
  188. %% widgets
  189.     WIDGETS AND RESOURCES
  190.  
  191.     plan uses the following environment variables:
  192.  
  193.        PLAN_TZ provides defaults for the timezone and Daylight Saving Time.
  194.        TZ provides the defaults if PLAN_TZ is not set.
  195.        LOGNAME provides your user name for the default mailer command.
  196.        USER provides your user name if LOGNAME is undefined.
  197.        user provides your user name if LOGNAME and USER are both undefined.
  198.        HOME is your home directory, for locating .dayplan* and .holiday.
  199.        PLAN_PATH and PATH are colon-separated search paths for finding
  200.           programs. First, BIN and LIB from the Makefile are searched, then
  201.           PLAN_PATH, then PATH, and finally a built-in default search path.
  202.           Note that the latter contains the current directory.
  203.  
  204.     To get a list of default X resources of the "plan" program, run it with
  205.     the -d option. The output can be directly appended to the .Xdefaults
  206.     file in your home directory or saved into a file "Plan" in your
  207.     app-defaults directory. If you install a system wide app-default file
  208.     make sure that lines do not start with "plan"; otherwise users might
  209.     not be able to override the setup. Omit the application name or use
  210.     the application class name "Plan". The "notifier" program also supports
  211.     a -d option.
  212.  
  213.     For example, for a much smaller month calendar, append these lines
  214.     to your ~/.Xdefaults file or modify your app-defaults file:
  215.  
  216.           Plan*colGrid: #909090
  217.           Plan*menubar*fontList: -*-helvetica-bold-*-normal-*-14-*
  218.           Plan*fontList: -*-*-medium-r-*-*-14-*
  219.           Plan*calNumberFont: -*-helvetica-*-r-*-*-14-*
  220.           Plan*calBoxWidth: 40
  221.           Plan*calBoxHeight: 34
  222.           Plan*calBoxMargin: 10
  223.           Plan*calBoxTitle: 15
  224.  
  225.     The resources of "notifier" can be set similarly. Its application class
  226.     name is "Notifier". Here are plan's main resources, listed by view, in
  227.     the order geometry, fonts, and colors:
  228.  
  229.  
  230.     GLOBAL RESOURCES
  231.  
  232.         noIcon: don't draw anything into the icon. This should be used on
  233.         SGI systems so that 4Dwm uses the color picture as an icon.
  234.         The color icon should be moved to ~/.icons/Plan.icon .
  235.         showIconTime: if true, show the current time in the icon title. For
  236.         some reason, this may prevent the screen saver from kicking in.
  237.         frameToday: put a black frame into today's day box in the month
  238.         view. This is useful on 1-bit black and white systems.
  239.         sgiMode: for SGI systems running IRIX 5.2 only. Switches plan to
  240.         the SGI desktop style if True. colToggle and colRed are ignored
  241.         in this mode. sgiMode is True by default if plan was compiled
  242.         with "make sgi5". sgiMode is far superior to classic Motif. You
  243.         may also set `useSchemes' to True, and set `scheme' to Lascaux.
  244.         When using schemes, many color and font resources are ignored.
  245.  
  246.         menubar*fontList: font for menubar and pulldowns
  247.         fontList: default font for buttons and titles
  248.         helpFont: font used in help popups
  249.         background: standard window background color
  250.         colStd: standard foreground color for button labels etc
  251.         colBack: standard background color
  252.         colTextBack: all inset text entry buttons use this color, pink by default
  253.         colToggle: most toggle buttons use this color when the toggle is on
  254.         colRed: the pin toggle in appointment edit popups uses this color when on
  255.  
  256.  
  257.     MONTH VIEW RESOURCES
  258.  
  259.         calBoxWidth: width of one day box
  260.         calBoxHeight: height of one day box, determines number of note lines
  261.         calBoxMargin: margin size at the edges of the inset calendar
  262.         calArrowWidth: width of the week popup arrows at the left edge
  263.         calBoxTitle: height of the title area with the weekday names
  264.  
  265.         calNumberFont: large font used for day numbers, twice as large as note font
  266.         calNoteFont: very small and narrow font for notes
  267.  
  268.         frameToday: put black frame in today's day box. Useful for 1-bit screens.
  269.  
  270.         colCalBack: standard white month background color
  271.         colCalShade: boxes with days in them use this background color
  272.         colCalAct: the yellow daybox color used when a appointment entry menu is up
  273.         colCalToday: today's daybox uses this color, green by default
  274.         colCalFrame: color of the thin frame that surrounds the grid
  275.         colGrid: color of the grid that surrounds the day boxes
  276.         colWeekday: color of weekday day numbers, black
  277.         colWeekend: color of weekend day numbers, dark red
  278.         colNote: color of note texts, something not too dark that doesn't stand out
  279.         colNoteOff: this color is used for suspended notes, much lighter
  280.  
  281.         colHolidayBlack: color used when "black" is used in the holiday definition
  282.         colHolidayRed: color used when "red" is used in the holiday definition
  283.         colHolidayGreen: color used when "green" is used in the holiday definition
  284.         colHolidayYellow: color used when "yellow" is used in the holiday definition
  285.         colHolidayBlue: color used when "blue" is used in the holiday definition
  286.         colHolidayMagenta: color used when "magenta" is used in the holiday definition
  287.         colHolidayCyan: color used when "cyan" is used in the holiday definition
  288.         colHolidayWhite: color used when "white" is used in the holiday definition
  289.  
  290.  
  291.     YEAR VIEW RESOURCES
  292.  
  293.         yearMargin: size of margin around the entire year
  294.         yearGap: size of gap between months
  295.         yearTitle: height of space reserved for year number at the top
  296.         yearBoxWidth: width of one day box
  297.         yearBoxHeight: height of one day box
  298.  
  299.         colYearBack: background color of the entire year area
  300.         colYearBoxBack: background color of month boxes
  301.         colYearNumber: color of day numbers
  302.         colYearWeekday: color of weekday names
  303.         colYearMonth: color of month names
  304.         colYearTitle: color of the year number at the top
  305.         colYearGrid: color of the thin box that surrounds every month
  306.  
  307.         yearTitleFont: large font used for the year number at the top
  308.         yearMonthFont: medium italics font used for month names
  309.         yearWeekdayFont: small italics font used for weekday names
  310.         yearNumberFont: small font used for day numbers
  311.  
  312.     WEEK VIEW RESOURCES
  313.  
  314.         weekMargin: size of margin around entire week view
  315.         weekGap: height of gap between days
  316.         weekDayWidth: width of the leftmost column with the weekday names in it
  317.         weekHourWidth: width of one hour column
  318.         weekBarHeight: height of an appointment bar
  319.         weekBarGap: height of gap between appointment bars
  320.         weekMaxNote: appointment note texts longer than this width are clipped
  321.  
  322.         colWeekBack: background color of the entire week view
  323.         colWeekBoxback: shaded background color of the box that represents one day
  324.         colWeekTitle: color of the title at the top
  325.         colWeekGrid: color of the lines that separate hour columns
  326.         colWeekDay: color of the weekday names in the leftmost column
  327.         colWeekNote: color of note texts printed into or next to appointment bars
  328.         colWeekFrame: color of the thin lines around the edges of bars
  329.         colWeekWarn: color of the part of bars that represents advance-warning times
  330.         colWeekUser_0: color of user's own bars, and one of the user colors (blue)
  331.         colWeekUser_1: another color available for other users' bars. These
  332.         ...                 colors are selectable in the User popup.
  333.         colWeekUser_7: the last user color. eight colors total are available
  334.  
  335.         weekTitleFont: font used for the title at the top giving the interval
  336.         weekDayFont: font used for weekday names in the leftmost column
  337.         weekHourFont: font used for hours above the bar chart
  338.         weekNoteFont: small font used for appointment notes inside or next to bars
  339. #
  340. # main window, menu bar and month calendar
  341. #
  342. %% pd_file
  343.     FILE PULLDOWN
  344.  
  345.     Print -- pop up a menu that prints PostScript calendars.
  346.  
  347.     Delete Past Entries -- removes all appointments before today's date,
  348.       except those that come from files with no write permission.
  349.  
  350.     Reread databases -- read all .dayplan files and other appointment
  351.       databases, including those of all users. Rechecks file permissions
  352.       and ownership.
  353.  
  354.     Save databases now -- normally, plan writes modified databases only
  355.       once every ten seconds or when plan terminates. This function
  356.       writes immediately.
  357.  
  358.     About -- prints the version number and my email address. Please mail
  359.       bug reports to that address.
  360.  
  361.     Quit -- write data base back to the ~/.dayplan file if it has changed,
  362.       and exit the program. The daemon will continue to run.
  363. %% pd_config
  364.     CONFIG PULLDOWN
  365.  
  366.     Calendar views -- installs the main preference popup, with global
  367.       options, month view options, and week view options.
  368.  
  369.     User list -- Initially, the month and week views only show your own
  370.       appointments. Other users' appointment databases can be attached here.
  371.  
  372.     Adjust time -- define time-of-day corrections, time zone, and Daylight
  373.       Saving Time mode. Use this menu to adjust the time if appointments
  374.       appear early or late.
  375.  
  376.     Alarm options -- pops up a menu that defines the actions taken when
  377.       an appointment triggers. The actions are taken by a daemon and are
  378.       independent of whether the interactive calendar program runs or not.
  379.  
  380.     Define holidays -- pops up a window that allows specification of
  381.       holidays and vacations.
  382. %% pd_search
  383.     SEARCH PULLDOWN
  384.  
  385.     Today -- print an appointment menu with today's items.
  386.  
  387.     Tomorrow -- print an appointment menu with tomorrow's items.
  388.  
  389.     This Week -- print an appointment menu with all items of the current
  390.       week.
  391.  
  392.     Next Week -- print an appointment menu with all items of the week
  393.       after the current week.
  394.  
  395.     This Month -- print an appointment menu with all items of the current
  396.       month.
  397.  
  398.     All -- print an appointment menu with all items.
  399.  
  400.     Search Keywords -- print an appointment menu with all items that
  401.       contain the specified string in their note, message, or script fields.
  402. %% pd_view
  403.     VIEW PULLDOWN
  404.  
  405.     Week -- pop up a week view menu for the current week. Week views
  406.       plot appointments as colored bars on a hour/day chart, and can
  407.       also show other users' public appointments.
  408.  
  409.     Month -- show the main month view. This is somewhat redundant.
  410.  
  411.     Year -- pop up a year view menu for the current year.
  412.  
  413.     Goto today -- switch all views (week, month, and year) such that
  414.       they contain today.
  415.  
  416.     Goto -- popup a date entry menu, then switch all views (week, month,
  417.       and year) such that they contain the entered date.
  418. #
  419. # help popup
  420. #
  421. %% help_done
  422.     DISMISS
  423.  
  424.     Remove the help popup.
  425. #
  426. # month view
  427. #
  428. %% cal_month
  429.     CURRENT MONTH
  430.  
  431.     The month displayed in the month calendar below. It can be incremented
  432.     and decremented to show the next or previous month. The inc/dec arrows
  433.     will wrap to the next or previous year.
  434.  
  435.     The currently displayed month can also be changed by pressing on any
  436.     month name in the year calendar (see Year pulldown).
  437.  
  438.     To return to the current month, choose Goto today in the View pulldown.
  439. %% cal_year
  440.     CURRENT YEAR
  441.  
  442.     The year that the month shown below is in.
  443. %% cal
  444.     MONTH CALENDAR
  445.  
  446.     Displays the current month, as specified by the month and year
  447.     controls above. The format can be changed with the Config pulldown.
  448.     Each day box contains a list of appointments on that day, with time
  449.     and note string.
  450.  
  451.     The note string is grayed out if the appointment is suspended (the
  452.     button to the left of that appointment in the appointment list is
  453.     turned off). The appointment is not shown at all if it is "omitted"
  454.     using the exception popup that can be installed in the appointment
  455.     entry menu by pressing on the triangular warning sign button.
  456.  
  457.     If there are more appointments than will fit in the box (usually 3),
  458.     only the first three are shown; the "Don't show today's past" option
  459.     in the Options pulldown determines which three. If there are more
  460.     appointments than will fit in the box, three dots are shown in the
  461.     lower right corner of the box.
  462.  
  463.     If there is a full-line holiday on a day, the holiday name will use
  464.     the first line. Appointments that have no time ("-" was entered in
  465.     the day menu) come next, and finally the regular appointments.
  466.  
  467.     Todays's day box is highlighted green, and the last day box opened
  468.     is highlighted yellow. When a day box is opened by pressing down on
  469.     it, a list of all appointments on that day is popped up. Appointments
  470.     are added, changed, and deleted with these list popups.
  471.  
  472.     There is a small triangle to the left of every week row. Pressing one
  473.     of the arrows pops up a week view that displays the week in a hour vs.
  474.     day chart, and allows viewing other users' appointments.
  475. #
  476. # year calendar window
  477. #
  478. %% year
  479.     YEAR CALENDAR
  480.  
  481.     Displays the current year, as specified by the year controls in the
  482.     main month calendar, at the time the year menu was popped up. Later
  483.     changes to the year control will not change the year menu.
  484.  
  485.     The year calendar basically consists of 12 small copies of the month
  486.     calendar. The day boxes work the same way, the current day is green,
  487.     the last opened day is yellow, and pressing on a day box opens it
  488.     and shows the list of appointments on that day. There are also week
  489.     view call triangles to the left of every week row.
  490.  
  491.     Pressing on a month name will switch the month calendar to that month.
  492.  
  493.     The day boxes are too small for appointments and notes; if there is
  494.     at least one appointment on that day (suspended or not), a small
  495.     black square is shown in the day box. Appointment are ignored if they
  496.     are "omitted" using the exception popup that can be installed in the
  497.     appointment entry menu by pressing on the triangular warning sign
  498.     button.
  499. #
  500. # Time adjustment popup
  501. #
  502. %% adj
  503.     ADJUST TIME
  504.  
  505.     This menu serves two purposes. First, it allows to adjust the system
  506.     clock, which on many systems or networks controlled by warring
  507.     timelords may be off by a few minutes. By adding a constant to the
  508.     system time, alarms can be made to trigger accurately.
  509.  
  510.     Second, determining the timezone a system is in is a black art. There
  511.     are various incompatible TZ formats, unavailable or nonstandard
  512.     system calls, and Daylight Saving starting and ending dates that
  513.     have not been specified correctly by the system administrator. This
  514.     menu allows users to specify the regular timezone relative to GMT
  515.     (Greenwich Mean Time, or UTC). In addition, one hour can be added
  516.     while Daylight Saving Time (DST) is in effect.
  517.  
  518.     DST can be either turned on or off manually, or automatically from
  519.     a begin and end day. These days change every year, and can be
  520.     entered with this menu. They are entered as Julian dates (day
  521.     numbers relative to January 1 in the range 1..366). Julian dates
  522.     can be determined with the Julian Dates option in Config.
  523.  
  524.     Week number 1 is the first full week of the year means that the
  525.     first week in January is defined to be week number 1 only if all
  526.     seven days of that week fall in the current year. If this flag is
  527.     off, a partial week may be counted as week number 1.
  528.  
  529.     This menu only affects your plan and its daemon, pland. The system
  530.     clock is not affected, and all programs other than your plan will still
  531.     believe in the official network time. This also includes other users'
  532.     plan programs.
  533. %% adj_time
  534.     ADJUST SYSTEM CLOCK
  535.  
  536.     Enter a system clock correction constant here. For example, if your
  537.     system clock is fast by two minutes and 20 seconds, enter "-0:02:20".
  538.     If your system clock is slow, enter a positive time.
  539.  
  540.     The correction applies only to plan and the plan daemon that waits
  541.     for alarms. The system clock and other programs are not affected.
  542. %% adj_zone
  543.     TIMEZONE
  544.  
  545.     At startup, the timezone is determined automatically. This may give
  546.     incorrect results on some system, especially if the system timezone
  547.     files are not configured properly. With the Timezone field, the
  548.     timezone can be set in hours:minutes relative to Greenwich Mean Time
  549.     (GMT or UTC). To revert to the system defaults, press the Guess
  550.     button.
  551.  
  552.     While Daylight Saving Time is in effect, another hour is added to
  553.     the timezone.
  554. %% adj_dst
  555.     DAYLIGHT SAVING
  556.  
  557.     Many countries switch the time one hour forward in the summer. This
  558.     is normally done automatically by the system, but requires the system
  559.     administrator to change the timezone start and end dates every year.
  560.     If this configuration does not agree with reality, this menu allows
  561.     plan users to override it.
  562.  
  563.     Daylight Saving can either be turned on permanently (in the summer),
  564.     turned off permanently (in the winter, or if your country does not
  565.     have Daylight Saving time), or turned on on a begin date and and end
  566.     date. The begin and end dates must be specifies as Julian dates; use
  567.     Julian Dates in Config to find out the numbers. Press the Guess button
  568.     to return to system defaults.
  569.  
  570.     Daylight Saving is turned on and off at 2:00 in the morning on the
  571.     begin and end days, respectively, unless overridden by system files.
  572.     See "man timezone" for details.
  573. %% adj_guess
  574.     GUESS TIMEZONE AND DST
  575.  
  576.     Use system defaults for the timezone and Daylight Saving begin and
  577.     end dates.
  578. %% adj_done
  579.     DONE
  580.  
  581.     Remove time adjustment menu.
  582. #
  583. # Alarm Options popup
  584. #
  585. %% opt
  586.     ALARM OPTIONS
  587.  
  588.     An appointment can trigger up to three times: at the specified alarm
  589.     time, and at the advance-warning times that can be entered in the
  590.     appointment list menu. For every type of trigger, the action taken
  591.     can be specified with this menu:
  592.  
  593.     1. The green, yellow, or red window pops up at the trigger time. It
  594.        contains the appointment's message or note text. The window position
  595.        is randomized.
  596.  
  597.     2. Mail is sent, using the "Mailer" command string. The string "%s"
  598.        in the mailer command is replaced with an appropriate subject string.
  599.        The appointment's message or note text is used as the body of the mail.
  600.  
  601.     3. A program is executed. Playaiff or something else that makes
  602.        noises is a good choice. This is independent of the appointment's
  603.        script, which is always executed (at the alarm time only, not at
  604.        warning time). If the command string contains %s, it is replaced
  605.        with the appointment's note string (last column in appointment
  606.        entry dialog).
  607.  
  608.     The daemon's PATH environment variable is used to locate the mailer
  609.     and the programs. Defaults are supplied if there is no PATH. In all
  610.     cases, the umask is set to 077.
  611. %% opt_early
  612.     EARLY WARNING
  613.  
  614.     This specification is used for early-warning triggers.
  615. %% opt_early_w
  616.     GREEN WINDOW
  617.  
  618.     The daemon pops up a green window when the early-warning time is
  619.     reached. The window contains the appointment's message or note text.
  620. %% opt_early_m
  621.     EARLY WARNING MAIL
  622.  
  623.     Mail is sent when the early-warning time is reached. The Mailer
  624.     button at the bottom specifies the program to use; "%s" is replaced
  625.     with an appropriate subject string.
  626. %% opt_early_x
  627.     EARLY WARNING PROGRAM
  628.  
  629.     The program specified in the text area on the left is executed when
  630.     the early-warning time is reached. If the command string contains %s,
  631.     it is replaced with the appointment's note string (last column in
  632.     appointment entry dialog).
  633. %% opt_late
  634.     LATE WARNING
  635.  
  636.     This specification is used for late-warning triggers.
  637. %% opt_late_w
  638.     YELLOW WINDOW
  639.  
  640.     The daemon pops up a yellow window when the late-warning time is
  641.     reached. The window contains the appointment's message or note text.
  642. %% opt_late_m
  643.     LATE WARNING MAIL
  644.  
  645.     Mail is sent when the late-warning time is reached. The Mailer
  646.     button at the bottom specifies the program to use; "%s" is replaced
  647.     with an appropriate subject string.
  648. %% opt_late_x
  649.     LATE WARNING PROGRAM
  650.  
  651.     The program specified in the text area on the left is executed when
  652.     the late-warning time is reached. If the command string contains %s,
  653.     it is replaced with the appointment's note string (last column in
  654.     appointment entry dialog).
  655. %% opt_alarm
  656.     ALARM
  657.  
  658.     This specification is used for main alarm triggers.
  659. %% opt_alarm_w
  660.     RED WINDOW
  661.  
  662.     The daemon pops up a red window when the main alarm time is reached.
  663.     The window contains the appointment's message or note text.
  664. %% opt_alarm_m
  665.     ALARM MAIL
  666.  
  667.     Mail is sent when the main alarm time is reached. The Mailer button
  668.     at the bottom specifies the program to use; "%s" is replaced with
  669.     an appropriate subject string.
  670. %% opt_alarm_x
  671.     ALARM PROGRAM
  672.  
  673.     The program specified in the text area on the left is executed when
  674.     the main alarm time is reached. If the command string contains %s,
  675.     it is replaced with the appointment's note string (last column in
  676.     appointment entry dialog).
  677. %% opt_mailer
  678.     MAILER
  679.  
  680.     Specifies the program to use to send mail. Mail is sent when one of
  681.     the "Send mail" buttons above is enabled. In the mailer string, "%s"
  682.     is replaced with an appropriate subject string, containing the
  683.     reason, date, and truncated note or message text.
  684.  
  685.     The default is "Mail -s %s <username>".
  686. %% opt_timeout
  687.     TIMEOUT
  688.  
  689.     In this field, a time can be entered. If this field is blank, alarms
  690.     popped up by the pland daemon when the appointment's warning or alarm
  691.     time is reached will stay on the screen forever, until the Dismiss
  692.     button in the popup is pressed.
  693.  
  694.     A window lifetime can be entered as hours:minutes. A window popped
  695.     up after this change will disappear by itself after the specified time.
  696. %% opt_done
  697.     DONE
  698.  
  699.     Remove the Alarm Options popup.
  700. #
  701. # calendar view config popup
  702. #
  703. %% calconfig
  704.     CALENDAR VIEW CONFIGURATION
  705.  
  706.     All configuration data is saved in the ~/.dayplan file. The date and
  707.     time format is specified with this menu, the program does not use
  708.     X11R5 or Unix locale information. The menu is split in three parts:
  709.  
  710.  
  711.     GLOBAL OPTIONS:
  712.  
  713.     Week begins with Sunday -- print Sunday in the first column, as in
  714.       US calendars, rather than in the last column.
  715.  
  716.     Month/Day/Year date format -- print dates in month/day/year format,
  717.       rather than in day.month.year format.
  718.  
  719.     12 hour am/pm time format -- print all times in US am/pm format,
  720.       rather than in the European 24-hour format.
  721.  
  722.     Auto delete past entries -- automatically remove all expired
  723.       appointments before today's date.
  724.  
  725.     Fast warning entry, no popup -- normally, early and late warnings are
  726.       entered with a popup. Fast warning entry mode replaces the popup call
  727.       button in all list menus with a wide "Warn" column for direct entry.
  728.  
  729.  
  730.     MONTH VIEW OPTIONS:
  731.  
  732.     Show Julian dates -- print the day number in each month day box,
  733.       beginning with 1 on January 1.
  734.  
  735.     Show week numbers -- print the week number in each leftmost month day
  736.       box, in parentheses. The next option defines what the first week of
  737.       a year is.
  738.  
  739.     First week is full week -- normally, week number 1 in a year is the
  740.       the first partial week of the year. In full-week mode, the first
  741.       week is the first week with all seven days in the year.
  742.  
  743.     Colored background for other users -- if enabled, the note text that
  744.       appears in the day boxes in the month view has the background color
  745.       chosen in the "Group" column in this menu for this user, provided the
  746.       "Month" mode button is also on. This is useful for classifying
  747.       appointments quickly, but tends to make the month calendar look gaudy.
  748.       Bars in the week view always use the group color as background color.
  749.  
  750.     Don't show today's past -- in today's daybox (shaded green), skip
  751.       all entries that are in the past, and only show the next three
  752.       future entry notes.
  753.  
  754.  
  755.     WEEK VIEW OPTIONS:
  756.  
  757.     The top text button allows configuring the number of days shown in
  758.     the week view. Minimum is 1, maximum is 28, and the default is 7.
  759.  
  760.     The week view shows bars that represent appointments. The horizontal
  761.     position and length of the bar represents its trigger time and length.
  762.     The chart is clipped at the left and right edges at 8:00 and 20:00 by
  763.     default. These defaults can be changed with this popup.
  764.  
  765.     Press on the text buttons to get a cursor, and enter the hour. Only
  766.     the hour can be entered, minutes are ignored. To set the end time to
  767.     midnight, both 0 and 24 are accepted.
  768.  
  769.     If advance-warning times are enabled, show appointments' warning
  770.     periods as gray extensions at the left end of appointment bars.
  771.  
  772.     If user names are enabled, the name of a user whose appointments are
  773.     displayed in the week menu is displayed in or next to the users's bars
  774.     in the week view. For adding other users' appointments in the week
  775.     menu, see the help for the User button in the week view.
  776.  
  777.     Normally, entries without time ("-" in the time column in the entry
  778.     menu) are shown as a small triangle at the left edge of a week view
  779.     line. If the large-bar mode is enabled, they appear as a full line.
  780. %% global_flags
  781.     GLOBAL OPTIONS
  782.  
  783.     Week begins with Sunday -- print Sunday in the first column, as in
  784.       US calendars, rather than in the last column.
  785.  
  786.     Month/Day/Year date format -- print dates in month/day/year format,
  787.       rather than in day.month.year format.
  788.  
  789.     12 hour am/pm time format -- print all times in US am/pm format,
  790.       rather than in the European 24-hour format.
  791.  
  792.     Auto delete past entries -- automatically remove all expired
  793.       appointments before today's date.
  794.  
  795.     Fast warning entry, no popup -- normally, early and late warnings are
  796.       entered with a popup. Fast warning entry mode replaces the popup call
  797.       button in all list menus with a wide "Warn" column for direct entry.
  798.     
  799.     Only owner can write files -- if enabled (the default), you will not
  800.       be able to change other users' appointments even if you have write
  801.       permission. You need to be the owner too. This effectively ensures
  802.       that for each file, there is only one person who can write it, so
  803.       conflicts cannot happen. Turn this off at your own risk...
  804. %% month_flags
  805.     MONTH VIEW OPTIONS
  806.  
  807.     Show Julian dates -- print the day number in each month day box,
  808.       beginning with 1 on January 1.
  809.  
  810.     Show week numbers -- print the week number in each leftmost month day
  811.       box, in parentheses. The next option defines what the first week of
  812.       a year is.
  813.  
  814.     First week is full week -- normally, week number 1 in a year is the
  815.       the first partial week of the year. In full-week mode, the first
  816.       week is the first week with all seven days in the year.
  817.  
  818.     Colored background for other users -- if enabled, the note text that
  819.       appears in the day boxes in the month view has the background color
  820.       chosen in the "Group" column in this menu for this user, provided the
  821.       "Month" mode button is also on. This is useful for classifying
  822.       appointments quickly, but tends to make the month calendar look gaudy.
  823.       Bars in the week view always use the group color as background color.
  824.  
  825.     Don't show today's past -- in today's daybox (shaded green), skip
  826.       all entries that are in the past, and only show the next three
  827.       future entry notes.
  828. %% week_flags
  829.     WEEK VIEW OPTIONS
  830.  
  831.     The top text button allows configuring the number of days shown in
  832.     the week view. Minimum is 1, maximum is 28, and the default is 7.
  833.  
  834.     The week view shows bars that represent appointments. The horizontal
  835.     position and length of the bar represents its trigger time and length.
  836.     The chart is clipped at the left and right edges at 8:00 and 20:00 by
  837.     default. These defaults can be changed with this popup.
  838.  
  839.     Press on the text buttons to get a cursor, and enter the hour. Only
  840.     the hour can be entered, minutes are ignored. To set the end time to
  841.     midnight, both 0 and 24 are accepted.
  842.  
  843.     If advance-warning times are enabled, show appointments' warning
  844.     periods as gray extensions at the left end of appointment bars.
  845.  
  846.     If user names are enabled, the name of a user whose appointments are
  847.     displayed in the week menu is displayed in or next to the users's bars
  848.     in the week view. For adding other users' appointments in the week
  849.     menu, see the help for the User button in the week view.
  850.  
  851.     Normally, entries without time ("-" in the time column in the entry
  852.     menu) are shown as a small triangle at the left edge of a week view
  853.     line. If the large-bar mode is enabled, they appear as a full line.
  854. %% range_done
  855.     DONE
  856.  
  857.     Remove the week view range popup, and redraw the week view to
  858.     comply with the new range.
  859. %% range_ndays
  860.     NUMBER OF DAYS
  861.  
  862.     The top text button allows configuring the number of days shown in
  863.     the week view. Minimum is 1, maximum is 28, and the default is 7.
  864. %% range_min
  865.     BEGIN HOUR
  866.  
  867.     This is the hour the week view chart begins with, that is shown at
  868.     the left edge. Appointments that begin earlier will be clipped.
  869.     Press on the inset button and enter a number in the range 0..23 to
  870.     change the begin time. The week view will be updated when the Done
  871.     button is pressed.
  872. %% range_max
  873.     END HOUR
  874.  
  875.     This is the hour the week view chart ends with, that is shown at
  876.     the right edge. Appointments that end later will be clipped.
  877.     Press on the inset button and enter a number in the range 1..24 to
  878.     change the begin time (0 is accepted as a synonym for 24). The end
  879.     time must be greater than the begin time in the row above. The week
  880.     view will be updated when the Done button is pressed.
  881. %% range_warn
  882.     SHOW WARNINGS
  883.  
  884.     If advance-warning times are enabled, show appointments' warning
  885.     periods as gray extensions at the left end of appointment bars.
  886. %% range_user
  887.     SHOW USERS
  888.  
  889.     If user names are enabled, the name of a user whose appointments are
  890.     displayed in the week menu is displayed in or next to the users's bars
  891.     in the week view. For adding other users' appointments in the week
  892.     menu, see the help for the User button in the week view.
  893. #
  894. # goto popup
  895. #
  896. %% goto
  897.     GOTO DATE
  898.  
  899.     Enter a date to switch all visible calendar views (week, month, year)
  900.     such that they contain today's date. A full date must be entered; the
  901.     month day is relevant for the week view. To switch the views to contain
  902.     today, enter "today", or use the "goto today" choice in the View
  903.     pulldown. To switch n days forward or back, enter "+n" or "-n".
  904.  
  905.     Press Return to switch. The Cancel button removes the popup without
  906.     switching.
  907. #
  908. # keyword search popup
  909. #
  910. %% key
  911.     KEYWORD SEARCH
  912.  
  913.     The keyword search install an appointment list menu that contains all
  914.     the appointments that contain a specified string or regular expression.
  915.     The note, message, and script of each appointment is searched.
  916.  
  917.     The search can use one of three methods:
  918.     1. Search for an exact match.
  919.     2. Ignore case differences.
  920.     3. Search for a regular expression (if supported, the program can be
  921.        compiled without this option).
  922. %% key_literal
  923.     LITERAL SEARCH
  924.  
  925.     Search for an exact match. No magic characters are recognized.
  926. %% key_uncase
  927.     CASE_INSENSITIVE SEARCH
  928.  
  929.     Search for an exact match, but ignore case differences. No magic
  930.     characters are recognized.
  931. %% key_regular
  932.     REGULAR EXPRESSION SEARCH
  933.  
  934.     Search for a regular expression. Magic characters are evaluated.
  935. %% key_string
  936.     SEARCH STRING
  937.  
  938.     The string or regular expression to search for.
  939. %% key_search
  940.     SEARCH
  941.  
  942.     Start the search.
  943. %% key_cancel
  944.     CANCEL
  945.  
  946.     Cancel the search and remove the popup.
  947. #
  948. # appointment list menu
  949. #
  950. %% day
  951.     APPOINTMENT LIST
  952.  
  953.     An appointment list is created by pressing on a day box in the month
  954.     or year calendar menus, or with the Search pulldown in the main window.
  955.     Appointments are shown sorted by time, earliest first, with at least
  956.     one blank row at the bottom. The blank row is used for adding new
  957.     appointments.
  958.  
  959.     The first three wide columns are for entering date, time, and length
  960.     of the appointment numerically. The narrow columns that follow install
  961.     menus that specify additional information; and the wide last column
  962.     contains a note that is displayed in the month and year calendars' day
  963.     boxes.
  964.  
  965.     The small button to the left of each column, if turned off, suspends
  966.     that appointment. It will remain in the database, will be printed
  967.     grayed-out in the month calendar's day boxes, and will not trigger
  968.     any alarms or warnings. The first small button pops up an advance-
  969.     warning menu; it can be switched to a text field for direct entry
  970.     of advance-warning times with the Fast warning toggle in the Config
  971.     pulldown.
  972.  
  973.     For help on the individual columns, use Help "On Context". The buttons
  974.     control automatic repetition, advance warnings, messages, and shell
  975.     scripts. Also see the help message for Confirm. The format of the
  976.     table can be changed with the Fast Warning Entry Mode in the Config
  977.     pulldown; if enabled, the small advance-warning popup call button is
  978.     replaced with a wide numeric warning column.
  979.  
  980.     Note that a single '-' in the time column will remove the time in
  981.     the month view's day box. This and more options are available in the
  982.     exception popup, called by the button with the triangular sign. Use
  983.     Help On Context on the respective columns for details.
  984. %% day_enable
  985.     ACTIVATE/SUSPEND BUTTONS
  986.  
  987.     If turned on (green), the appointment is alive and will trigger alarms
  988.     as specified in the Alarm Options menu that can be accessed through
  989.     the Config pulldown. (In SGI desktop mode, a checkmark is shown instead
  990.     of a green box).
  991.  
  992.     If the button is turned off (gray), the appointment is suspended. It
  993.     will remain in the database, will be printed grayed-out in the month
  994.     calendar's day boxes and in the week view chart, and will not trigger
  995.     alarms. The small black dots in the year calendar day boxes are not
  996.     affected.
  997. %% day_user
  998.     GROUP COLUMN
  999.  
  1000.     If this button is blank, you own the appointment; it is stored either
  1001.     in ~/.dayplan or ~/.dayplan.priv (depending on the padlock). The
  1002.     appointment can be put in another user's list by pressing this button
  1003.     and selecting a user name from the popup. The list of users can be
  1004.     specified using the User list entry in the Config pulldown in the main
  1005.     window. Users whose appointment file is not writable are not listed.
  1006.     If an appointment is moved to another user, it is recommended that
  1007.     the "Own only" mode at the bottom of the window is turned off, or the
  1008.     moved appointment will disappear from the list.
  1009. %% day_date
  1010.     DATE COLUMN
  1011.  
  1012.     The trigger date. Dates can be entered as weekday Mon..Sun (or German
  1013.     Mo..So), as numeric date (mm/dd/yy or dd.mm.yy, depending on the
  1014.     Config pulldown), as commands such as "tomorrow" or "heute".
  1015.     Alternatively, +3 means today plus 3 days.
  1016.  
  1017.     Normally, appointments are added by starting with the time and using
  1018.     the date defaults supplied automatically.
  1019. %% day_time
  1020.     TIME COLUMN
  1021.  
  1022.     The trigger time, as hh:mm or hh:mm{a,p}, depending on the settings
  1023.     in the Config pulldown. The time can also be entered as hhmm.
  1024.  
  1025.     If a single minus "-" is entered, the alarm and its warnings will not
  1026.     trigger, and no time will be shown in the month calendar's day boxes.
  1027.     This is useful for birthdays and general reminders. In conjunction with
  1028.     repetition, it can also be used for vacations or other extended events.
  1029.     Holidays should be defined with the Holiday pulldown, the syntax there
  1030.     is much more flexible.
  1031.  
  1032.     Appointments with no time will always appear first in the day boxes,
  1033.     and will not be affected by the "Don't show today's past" option. In
  1034.     week views, they appear as triangles pointing right at the left edge.
  1035. %% day_length
  1036.     LENGTH COLUMN
  1037.  
  1038.     The length of the appointment. This information is used for the week
  1039.     view, it controls the length of the bar that represents the appointment.
  1040.     There is no collision checking, appointments can freely overlap with
  1041.     no warning.
  1042.  
  1043.     If the length begins with a minus '-', the remaining string is
  1044.     interpreted as an end time. "-12:30" means until 12:30.
  1045.  
  1046.     The Length column is disabled if there is no time (i.e., if the time
  1047.     column displays "-").
  1048. %% day_recycle
  1049.     RECYCLE COLUMN
  1050.  
  1051.     This button controls automatic repetition of an appointment on certain
  1052.     days. If the recycle symbol is shown in the button, the appointment
  1053.     repeats. Repeating appointments are shown in every day box in all views
  1054.     they have triggered on or will trigger on, between the entered date and
  1055.     the Until date if entered. If the Auto Delete Past Entries in the
  1056.     Config pulldown is enabled, past trigger dates are not shown.
  1057.  
  1058.     Pressing the recycle button pops up the recycle menu, which allows
  1059.     entry of the repetition information (on certain weekdays, on certain
  1060.     month days, every n days, until a specified expiry date).
  1061. %% day_advance
  1062.     ADVANCE COLUMN
  1063.  
  1064.     This button controls advance warnings. An appointment can have up to
  1065.     three trigger times: the "alarm time", which triggers at the time
  1066.     specified in the time column, an early warning, and a late warning.
  1067.     By default, only the alarm time is enabled; if it is turned off or
  1068.     one or both warnings are enabled, a symbol appears in the button.
  1069.  
  1070.     Pressing the button pops up a menu that allows turning the alarm
  1071.     and the warnings on or off, and specifying how long in advance the
  1072.     warnings will trigger. If "Fast warning entry mode" in the config
  1073.     pulldown is on, warnings can be entered numerically, instead of using
  1074.     the popup. The syntax is
  1075.  
  1076.           <early>[,<late>[,-]]
  1077.  
  1078.     Early and late times are in minutes. All parts are separated by commas
  1079.     or blanks. The optional "-" at the end turns off the main alarm time,
  1080.     so only warnings will trigger, if specified. Examples are "5" (one
  1081.     warning 5 minutes in advance, and the main alarm), "10,45" (two
  1082.     warnings and the main alarm), "15,-" (one warning, no alarm). If the
  1083.     main alarm time is turned off, scripts specified with the "%" button
  1084.     will still be run; but operations specified with the Alarm Options
  1085.     (windows, mail, or commands) won't. Entering a '=' uses the default
  1086.     warning times, which are updated with every numeric entry.
  1087.  
  1088.     The actions taken when the alarm and the warnings trigger is
  1089.     controlled by the "Alarm Options" menu in the Config pulldown of the
  1090.     main month calendar window. Options include color-coded windows,
  1091.     mail, and Unix commands.
  1092.  
  1093.     The Advance Warning column is disabled if there is no time (i.e., if
  1094.     the time column displays "-").
  1095. %% day_message
  1096.     MESSAGE COLUMN
  1097.  
  1098.     This button allows a message to be attached to the appointment. Most
  1099.     of the time, the last column (note) suffices, but for longer texts
  1100.     messages can be used. A symbol is shown in the button if a message
  1101.     exists; pressing the button pops up a text entry menu.
  1102.  
  1103.     When the appointment triggers, the text is shown in the window that
  1104.     pops up (assuming that window hasn't been disabled with the Config
  1105.     pulldown's Alarm Options menu).
  1106. %% day_script
  1107.     SCRIPT COLUMN
  1108.  
  1109.     This button allows a shell script to be attached to the appointment.
  1110.     A symbol is shown in the button if a script exists; pressing the
  1111.     button pops up a text entry menu. When the alarm time triggers, the
  1112.     script will be executed by the daemon. Unlike attached messages,
  1113.     scripts will be ignored by advance-warning triggers. Pop up the help
  1114.     menu in the Script popup to get more information on how scripts are
  1115.     executed.
  1116.  
  1117.     The Script column is disabled if there is no time (i.e., if the time
  1118.     column displays "-").
  1119. %% day_except
  1120.     EXCEPT COLUMN
  1121.  
  1122.     This button calls up a menu that allows specification of various
  1123.     special modes, such as exception dates where the appointment will
  1124.     not trigger, and exclusion flags that make it disappear from certain
  1125.     menus.
  1126. %% day_private
  1127.     LOCK COLUMN
  1128.  
  1129.     If pressed, the appointment is considered private. It is stored in
  1130.     a separate file ".dayplan.priv" that has no read or write permissions
  1131.     for other users. Specifically, locked appointments do not appear in
  1132.     other users' week views even if they named you in their user lists.
  1133.  
  1134.     All appointments that are not locked will appear in other users' week
  1135.     views if they ask for them. Other users that look up your appointments
  1136.     will not even be informed that you have locked appointments, although
  1137.     they may be able to determine that your .dayplan.priv file is not
  1138.     empty.
  1139.  
  1140.     plan uses the current umask for the permissions of the public ~/.dayplan
  1141.     file, and enforces rw------- permissions for the private ~/.dayplan.priv
  1142.     file. Make sure that your home directory has no write permissions for
  1143.     others, plan does not attempt to chmod it.
  1144. %% day_note
  1145.     NOTE COLUMN
  1146.  
  1147.     This column allows entry of a short text that will appear in the
  1148.     month calendar's day box, and in the window that pops up at trigger
  1149.     times. Notes are convenient for short texts not exceeding 30
  1150.     characters or so (although there is no hard limit); for longer
  1151.     texts, use the message button.
  1152.  
  1153.     If there is no note, then the first line of the message text is
  1154.     displayed in the note column and in the day box. If there is no
  1155.     message either, the first script line is displayed (the second if
  1156.     the first begins with #!).
  1157.  
  1158.     Note strings beginning with '-' and '=' are NO LONGER SUPPORTED,
  1159.     use the exception menu (button with triangular warning sign) to enter
  1160.     exclusion flags. plan will convert old notes when reading .dayplan
  1161.     files to the new method.
  1162. %% day_confirm
  1163.     CONFIRM
  1164.  
  1165.     While an appointment is entered, it is not stored in the database.
  1166.     It is stored only when the Return key is pressed on the last column,
  1167.     or when the Confirm button is pressed.  This prevents the new
  1168.     appointment from disappearing because the list is resorted, or
  1169.     because it does not even belong in this list.
  1170.  
  1171.     Confirm is rarely used. To enter an appointment, simply press and
  1172.     enter the time, length, and note. Pressing Return in the Note column
  1173.     has the same effect as Confirm. The Done button, and pressing anywhere
  1174.     in another row, implies Confirm.
  1175. %% day_undo
  1176.     UNDO
  1177.  
  1178.     While entering an appointment, but before Confirming (or pressing
  1179.     Return on the Note column or editing another appointment, which also
  1180.     confirms), all changes can be discarded by pressing Undo. This prevents
  1181.     the changes from being written to the database.
  1182. %% day_dup
  1183.     DUPLICATE
  1184.  
  1185.     To duplicate an appointment, press on any text column (date, time,
  1186.     length, or note), then press the dup button. The appointment, and
  1187.     all the information attached to it (such as message and script)
  1188.     are duplicated. The duplicated appointment can then be changed.
  1189. %% day_del
  1190.     DELETE
  1191.  
  1192.     To delete an appointment, press on any text column (date, time,
  1193.     length, or note), then press Delete. It is not possible to undo
  1194.     deletions.
  1195. %% day_quit
  1196.     DONE
  1197.  
  1198.     Destroy the appointment list menu. This has the side effect of
  1199.     confirming the currently entered appointment, if any; use Delete
  1200.     or Undo first to cancel the changes.
  1201. %% day_own
  1202.     OWN ONLY
  1203.  
  1204.     If enabled, only your own appointments (from the ~/.dayplan and
  1205.     ~/.dayplan.priv files) are shown. If disabled, all appointments,
  1206.     including those from other users (see Config->User list), are shown.
  1207. %% day_pin
  1208.     PIN
  1209.  
  1210.     Normally, an appointment list menu is re-used whenever another day
  1211.     box is pressed or the Search pulldown is used. If the Pin flag is
  1212.     turned on (is red), the menu will remain unchanged and a new
  1213.     appointment list is created when one is needed.
  1214.  
  1215.     Whenever the program needs an appointment list popup, it scans
  1216.     through all the existing menus in the order they were created, and
  1217.     kidnaps the first that has either been popped down (with its Done
  1218.     button), or that is not pinned.
  1219. #
  1220. # week view menu
  1221. #
  1222. %% week
  1223.     WEEK VIEW
  1224.  
  1225.     The week view shows appointments on a hour vs. day chart. Appointments
  1226.     are represented by horizontal bars, labelled by their note string
  1227.     which is centered in the bar if it fits, or shown to the right of the
  1228.     bar if not. The bar itself can optionally show the advance-warning
  1229.     periods as gray shadows; this is controlled by the Show Warnings item
  1230.     in the Config pulldown. The width of the chart (the begin and end hour)
  1231.     can be specified by choosing Week View Range from the Config pulldown.
  1232.     Suspended appointments are shown in the same gray color that is used
  1233.     for advance warnings. If the Show Users toggle in the Configure week
  1234.     view popup in the Config pulldown is on, the user name is also shown
  1235.     in parentheses.
  1236.  
  1237.     A bar is color-coded: blue bars are the user's own appointments. Other
  1238.     users' appointments can also be shown with different colors; users
  1239.     whose appointments should appear can be specified by pressing the User
  1240.     button. Other users' private appointments are not shown; appointments
  1241.     are private if the user pressed the Lock button in the appointment
  1242.     entry/edit menu in the entry's row. (To get the entry/edit menu, press
  1243.     in any day box in the month or year menus, or press the Edit button in
  1244.     the week menu. The lock button's icon is a little padlock.)
  1245.  
  1246.     Pressing on any bar gives the appointment time, the user in parentheses
  1247.     unless it is one of the user's own appointments, and the note text.
  1248.     Double-clicking a bar pops up an appointment edit menu that contains
  1249.     one entry (but can also be used to input new appointments).
  1250. %% week_prev
  1251.     PREVIOUS WEEK
  1252.  
  1253.     Skip seven days back, and re-display. To go back to the current week,
  1254.     choose Week from the View pulldown. It is not possible to skip to
  1255.     the previous year.
  1256. %% week_next
  1257.     NEXT WEEK
  1258.  
  1259.     Skip seven days forward, and re-display. To go back to the current
  1260.     week, choose Week from the View pulldown. It is not possible to skip
  1261.     to the next year.
  1262. %% week_sync
  1263.     SYNC DISPLAY
  1264.  
  1265.     Once the week view is drawn, plan does not check whether other users
  1266.     have changed their appointments since. Pressing Sync re-reads all
  1267.     users' public appointment files, and redraws the week view.
  1268. %% week_edit
  1269.     EDIT APPOINTMENTS
  1270.  
  1271.     Install a standard appointment entry/edit popup that contains all
  1272.     entries that belong to the user visible in the week chart. For editing
  1273.     individual appointments, double-click that appointment's bar.
  1274. %% week_done
  1275.     DONE
  1276.  
  1277.     Remove the week view menu.
  1278. #
  1279. # user popup
  1280. #
  1281. %% user
  1282.     USER MENU
  1283.  
  1284.     The user menu allows selection of users that should appear in the week
  1285.     and month views. Any number of users can be entered. To distinguish
  1286.     other users' appointments, they can be color-coded. Eight colors are
  1287.     available; several users can share the same color.
  1288.  
  1289.     To specify another user, press on the top empty button in the User
  1290.     column, and enter a name. Plan attempts to locate the user's home
  1291.     directory. If the user or the user's home directory is not known, a
  1292.     warning is printed. The home directory is the directory where the
  1293.     user's .dayplan file resides. Plan does not attempt to read the
  1294.     private appointments in the .dayplan.priv files. It is assumed that
  1295.     this directory is readable; on a network, it must be at least NFS-
  1296.     mounted. Plan can not rcp or ftp .dayplan files.
  1297.  
  1298.     The small buttons on the left enable or disable users in the month
  1299.     and week views, respectively; disabled users do not appear in the
  1300.     view. The color buttons cycle through the eight available colors
  1301.     every time the color button is pressed.
  1302.  
  1303.     Entries can be deleted by pressing on the row to be deleted, and then
  1304.     pressing the Delete button. The Sort button sorts first by color and
  1305.     then by user name.
  1306.  
  1307.     If the "Show group color" flag is enabled, the note text that appears
  1308.     in the day boxes in the month view has the background color chosen in
  1309.     the "Group" column in this menu for this user.
  1310.  
  1311.     plan does not check if a user whose appointments are displayed has
  1312.     changed his appointments since the week view was drawn. Checking files
  1313.     periodically would keep automounted directories warm and would slow
  1314.     down things. Press the Sync button to update the week view.
  1315. %% user_delete
  1316.     DELETE USER
  1317.  
  1318.     To delete a user, first press on any button in the user's row, then
  1319.     press the Delete button. The row disappears, and all rows below move
  1320.     one row up. If Delete is pressed again, the next user is deleted; it
  1321.     is displayed in the row of the previously deleted user.
  1322. %% user_sort
  1323.     SORT USERS
  1324.  
  1325.     Users are sorted first by color and then alphanumerically by name.
  1326. %% user_done
  1327.     DONE
  1328.  
  1329.     Remove the user menu and redraw the week view.
  1330. %% user_enable
  1331.     ENABLE COLUMN
  1332.  
  1333.     There are two enable buttons. If depressed (the default), the left
  1334.     enables the user's public appointments in the month view and the
  1335.     right enables users in the week view.
  1336. %% user_color
  1337.     GROUP COLUMN
  1338.  
  1339.     This button selects the color that will be used for the user's
  1340.     appointment bars in the week view, and the background color under the
  1341.     user's appointment line in the month view. There are eight colors
  1342.     available. Multiple users can have the same color; these users will
  1343.     be grouped by the Sort button. To find out which user owns a bar in
  1344.     the week view, press on the bar; the user will be shown in parentheses.
  1345. %% user_name
  1346.     NAME COLUMN
  1347.  
  1348.     The user login names. To add a new user, press an empty name button
  1349.     and enter the user's login name, and press Return. Plan will then
  1350.     look up the user in /etc/passwd or in the NIS database (Yellow Pages),
  1351.     and determine the home directory. If the user or the home directory
  1352.     cannot be found, a warning is displayed.
  1353.  
  1354.     The login name must be entered exactly, which usually means one to
  1355.     eight lower-case letters. Do not enter the gecos (real) name.
  1356. %% user_home
  1357.     HOME COLUMN
  1358.  
  1359.     To locate the user's appointment file (.dayplan), the home directory
  1360.     must be entered. This is normally done automatically when the user
  1361.     name is entered. By pressing on a home directory button, the directory
  1362.     can be changed. A complete Unix path must be entered, beginning with
  1363.     a slash (/). The host:path and ~user syntax supported by some other
  1364.     programs is not recognized.
  1365. #
  1366. # advance-warning popup
  1367. #
  1368. %% adv
  1369.     ADVANCE WARNINGS
  1370.  
  1371.     Every appointment can have up to three trigger dates:
  1372.  
  1373.     1. the alarm time, which triggers at the time specified in the time
  1374.        column of the appointment list,
  1375.     2. the early warning time, which triggers a number of minutes before
  1376.        the alarm time, as specified in this menu,
  1377.     3. the late warning time, which triggers a number of minutes before
  1378.        the alarm time, as specified in this menu.
  1379.  
  1380.     Unless disabled with the Alarm Options in the Config pulldown, each
  1381.     of the three triggers pops up a color-coded window: green for early
  1382.     warnings, yellow for late warnings, and red for alarms. All three
  1383.     windows will contain the appointment's message text if any, or the
  1384.     note text if not.
  1385. %% adv_done
  1386.     DONE
  1387.  
  1388.     Remove the advance-warning popup.
  1389. %% adv_early
  1390.     EARLY WARNING
  1391.  
  1392.     Pressing the enable button sets the early-warning time to the default
  1393.     (45 minutes). The time can be changed by pressing on the text field
  1394.     and entering a time in hh:mm format.
  1395.  
  1396.     Early warnings are turned off by default when the appointment is
  1397.     created.
  1398. %% adv_late
  1399.     LATE WARNING
  1400.  
  1401.     Pressing the enable button sets the late-warning time to the default
  1402.     (5 minutes). The time can be changed by pressing on the text field
  1403.     and entering a time in hh:mm format.
  1404.  
  1405.     Early warnings are turned off by default when the appointment is
  1406.     created.
  1407. %% adv_noalarm
  1408.     NORMAL ALARM
  1409.  
  1410.     This button is turned on by default. If turned off, there will be no
  1411.     main alarm trigger. If there is a script attached to the appointment,
  1412.     it will never get executed in this case.
  1413.  
  1414.     Turning off the normal alarm trigger does not affect the advance
  1415.     warning times.
  1416. #
  1417. # recycle popup
  1418. #
  1419. %% cyc
  1420.     RECYCLE MENU
  1421.  
  1422.     Repeating appointments trigger more than once. The time does not
  1423.     change, the appointment triggers at the same time on every such date.
  1424.     It can not trigger on any day more than once.
  1425.  
  1426.     The appointment will repeat on any of the dates that satisfy at least
  1427.     one of the three conditions: on the specified weekdays, on the
  1428.     specified days of the month, and every n days after the initial date.
  1429.  
  1430.     The appointment will expire on the day specified with "Stop repeating
  1431.     on" if the mode button is green. The appointment may trigger for the
  1432.     last time on the date specified, if the other conditions are satisfied.
  1433. %% cyc_done
  1434.     DONE
  1435.  
  1436.     Remove the recycle popup.
  1437. %% cyc_last
  1438.     LAST DAY
  1439.  
  1440.     The appointment will trigger on this date for the last time (if the
  1441.     other conditions are satisfied). It will then expire, and will be
  1442.     deleted if the Auto-delete-past-entries in the Config menu has been
  1443.     turned on.
  1444.  
  1445.     The notation "+n" means that the appointment will repeat on the next
  1446.     n days; "+1" means today and tomorrow.
  1447.  
  1448.     The last-day is in effect only if the green mode button on the left
  1449.     is turned on (is green).
  1450. %% cyc_every
  1451.     EVERY N DAYS
  1452.  
  1453.     If the button on the left is on (green), the appointment will
  1454.     trigger every n days after the initial date. For example, if
  1455.     a 2 is entered, the appointment will repeat every other day.
  1456. %% cyc_weekdays
  1457.     WEEKDAYS
  1458.  
  1459.     The appointment will trigger on all the weekday specified. Weekdays
  1460.     can be restricted to certain weeks of the month.
  1461. %% cyc_days
  1462.     MONTH DAYS
  1463.  
  1464.     The appointment will trigger on every day of the month specified.
  1465. %% cyc_yearly
  1466.     YEARLY
  1467.  
  1468.     If turned on, the appointment will trigger on the same day every year.
  1469. %% msg
  1470.     MESSAGES AND SCRIPTS
  1471.  
  1472.     This menu is used for appointment messages and scripts. A message
  1473.     is a text that is printed in a window when the alarm or one of its
  1474.     warnings triggers, unless disabled.
  1475.  
  1476.     Scripts are executed by the daemon when the alarm time (not the
  1477.     warnings) trigger. The daemon forks and execs the script directly.
  1478.     The environment is passed on unchanged. The umask is set to 077.
  1479.     If the script is longer than the Unix pipe size (normally 10240
  1480.     bytes), the daemon forks off a separate process to feed the script,
  1481.     to avoid blocking the daemon.
  1482.  
  1483.     Scripts are run even if the text alarm was turned off with the
  1484.     advance-warning popup or column.
  1485. %% msg_done
  1486.     DONE
  1487.  
  1488.     Remove the message popup.
  1489. %% msg_delete
  1490.     DELETE
  1491.  
  1492.     Deletes the message or script, and removes the popup. The message
  1493.     or script symbol in the appointment list row disappears.
  1494. %% msg_clear
  1495.     CLEAR
  1496.  
  1497.     The text in the popup is cleared.
  1498. %% msg_text
  1499.     TEXT WINDOW
  1500.  
  1501.     Messages and scripts are entered here. To clear the text and start
  1502.     over, press the Clear button.
  1503. %% except
  1504.     EXCEPTIONS
  1505.  
  1506.     The exception dates at the top of this menu specify dates on which
  1507.     the appointment will not trigger (neither scripts nor alarms). Dates
  1508.     are specified in one of the text entry boxes in the usual formats:
  1509.     e.g., 24.12., 12/24, tomorrow, +14, mon. The Clear buttons delete
  1510.     an exception date. The Split buttons create a new fill-in appointment
  1511.     for the given exception date.
  1512.  
  1513.     There are flag buttons below the exception dates that specify in
  1514.     which calendar views (month, year, and week) the appointment should
  1515.     be omitted. It is often useful to omit things like lunch hour notices
  1516.     or cron-like jobs that would otherwise clutter up the calendars.
  1517.     These buttons replace the old notation in version 1.3.2 that omitted
  1518.     appointments whose note string begins with '-' or '='.
  1519.  
  1520.     The Reminder flag button, if enabled, turns off the time of the
  1521.     appointment. Neither scripts nor alarms will trigger in this mode,
  1522.     but the appointment stays in the calendar views (without a time
  1523.     display). In the month view, it looks much like a holiday string.
  1524.     This is equivalent to entering '-' in the time column in the entry
  1525.     menu.
  1526.  
  1527.     The appointment text color changes the color of the appointment text
  1528.     in the month view's day boxes. The default is pale blue; there are
  1529.     eight more. Some of them have very low contrast.
  1530.  
  1531.     All the choices here become effective and appear in the calendars when
  1532.     both the exception menu and the appointment entry menu are removed by
  1533.     pressing Done in each menu.
  1534. %% exc_clear
  1535.     CLEAR DATE
  1536.  
  1537.     The exception dates at the top of this menu specify dates on which
  1538.     the appointment will not trigger (neither scripts nor alarms). Dates
  1539.     are specified in one of the text entry boxes in the usual formats:
  1540.     e.g., 24.12., 12/24, tomorrow, +14, mon. The Clear buttons delete
  1541.     an exception date (but leave fill-in appointments that were created
  1542.     with the Split button intact).
  1543. %% exc_split
  1544.     SPLIT APPOINTMENT
  1545.  
  1546.     This function creates a new appointment that is identical to the one
  1547.     for which the exception date to the right was entered, except for its
  1548.     date (which matches the exception date) and its repetition information
  1549.     (which is cleared). The resulting appointment "fills in" the hole left
  1550.     by the exception date.
  1551.  
  1552.     The new appointment is shown at the end of the list menu and can now
  1553.     be edited. For example, if a repeating appointment occurs every Monday
  1554.     at 10:00 except on January 2nd, where it is at 11:00, enter January
  1555.     2nd as exception date, press split, and change the last time in the
  1556.     list from 10:00 to 11:00.
  1557.  
  1558.     Multiple exceptions require multiple fill-in appointments. Without a
  1559.     fill-in appointment created by Split, the appointment is simply
  1560.     ignored on the exception date. If an exception date is first split
  1561.     and then cleared, the split appointment is not deleted. Conversely,
  1562.     exception dates can be split off multiple times.
  1563. %% exc_flags
  1564.     FLAGS
  1565.  
  1566.     There are flag buttons below the exception dates that specify in
  1567.     which calendar views (month, year, and week) the appointment should
  1568.     be omitted. It is often useful to omit things like lunch hour notices
  1569.     or cron-like jobs that would otherwise clutter up the calendars.
  1570.     These buttons replace the old notation in version 1.3.2 that omitted
  1571.     appointments whose note string begins with '-' or '='.
  1572.  
  1573.     The Reminder flag button, if enabled, turns off the time of the
  1574.     appointment. Neither scripts nor alarms will trigger in this mode,
  1575.     but the appointment stays in the calendar views (without a time
  1576.     display). In the month view, it looks much like a holiday string.
  1577.     This is equivalent to entering '-' in the time column in the entry
  1578.     menu.
  1579. %% exc_acolor
  1580.     APPOINTMENT COLOR
  1581.  
  1582.     The appointment text color changes the color of the appointment text
  1583.     in the month view's day boxes. The default is pale blue; there are
  1584.     eight more. Some of them have very low contrast.
  1585. %% exc_done
  1586.     DONE
  1587.  
  1588.     Remove the exception popup menu. The changes are displayed in the
  1589.     calendar views when the Done button in the appointment entry menu
  1590.     is also pressed.
  1591. %% holiday_done
  1592.     DONE
  1593.  
  1594.     Write the definitions back to the ~/.holiday file and re-parse it.
  1595. %% holiday_cancel
  1596.     CANCEL
  1597.  
  1598.     Discard all changes to the holiday list made since the holiday menu
  1599.     was popped up, go back to the previous holiday list, and remove the
  1600.     holiday popup. Use this button if you messed up.
  1601. %% holiday
  1602.     HOLIDAYS
  1603.  
  1604.     Holidays are annotations of certain day boxes in the month and year
  1605.     calendars. A holiday can define a text that can appear under the day
  1606.     number (default) or next to the day number (small, because there is
  1607.     less space for text there). Both the color of holiday name and the day
  1608.     number can be set. For each day, only one holiday plus one "small"
  1609.     holiday can be defined. Earlier definitions override later ones.
  1610.  
  1611.     You don't need to define a holiday if you want an entry with no time
  1612.     field; just define a normal appointment with "-" in the time column.
  1613.     There is no limit on the number of those.
  1614.  
  1615.     In addition to the user's holiday list, there may be a system-wide
  1616.     holiday file in the LIB directory (LIB is from the Makefile, usually
  1617.     /usr/local/bin). System-wide holidays cannot be edited from within plan.
  1618.     User holidays override system-wide holidays on the same day.
  1619.  
  1620.     The holiday format is: (optional parts are in [square brackets],
  1621.     nonterminals are in CAPS, alternatives are separated by |, everything
  1622.     must be entered in lower case)
  1623.  
  1624.        [small]  [STRINGCOLOR]  "name"  [DAYNUMBERCOLOR]
  1625.                                               on  [DATE]  [OFFSET]  [LENGTH]
  1626.  
  1627.     (Although shown here on two lines, every holiday definition must be
  1628.     entered on a single line.)
  1629.  
  1630.     Available colors are black, red, green, yellow, blue, magenta, cyan,
  1631.     white, and weekend (the same color used for Saturday and Sunday).
  1632.     The string color is used for the name when printed into a day box; the
  1633.     day number color is used to alter the color of the day number (1..31)
  1634.     of the day box the holiday falls on. This can be used to promote a day
  1635.     to an official holiday by using the "weekend" color. If there is a day
  1636.     number color specified, but no string color, the string color is set to
  1637.     the day number color. The name can be empty, but the quotes must be
  1638.     present. There are several formats for DATE:
  1639.  
  1640.        DAY . MONTH [ . YEAR]
  1641.        MONTH / DAY [ / YEAR]
  1642.        DAY   MONTHNAME   [YEAR]
  1643.        MONTHNAME   DAY   [YEAR]
  1644.        [every   NTH]   WEEKDAY   [in   MONTH]
  1645.        WEEKDAY   before   LIT_DATE
  1646.        WEEKDAY   after   LIT_DATE
  1647.        easter
  1648.  
  1649.     DAY, MONTH, YEAR, NTH, and NUMBER can be C expressions; in
  1650.     dates, they must be parenthesized.  The special values any and last are
  1651.     also available. MONTHNAME is january, february, etc;  WEEKDAY
  1652.     is monday, tuesday, etc.  NTH can alternatively be first, second, ...,
  1653.     fifth, last. The words on, every, day, and days are syntactic sugar
  1654.     without meaning. Easter is predefined because its definition is rather
  1655.     complicated. LIT_DATE stands for one of the first two alternatives,
  1656.     DAY.MONTH[.YEAR] or MONTH/DAY[/YEAR].
  1657.  
  1658.     The OFFSET after DATE is "[plus | minus   NUMBER   days", and
  1659.     the LENGTH after that is "length   NUMBER   days". Offsets are
  1660.     useful for holidays relative to Easter, and lengths are useful for trade
  1661.     shows and vacations. Always define vacations last in the list so regular
  1662.     holidays override them.
  1663.  
  1664.     If you have /lib/cpp (see CPP_PATH in the Makefile), you can use #include
  1665.     statements to include additional external holiday files. The external files
  1666.     cannot be edited interactively with plan; use an editor.
  1667.  
  1668.     Examples:
  1669.        small  "Easter"  weekend  on  easter
  1670.        small  "Surprise"  blue  on  last  sunday  in  april  plus  1  day
  1671.        small  green  "xmas"  weekend  on  12/25
  1672.        ""  weekend  on  july  4
  1673.        magenta  "Payday"  on  any/last
  1674.        green  "Vacation"  on  20.6.93  length  28  days
  1675.        #include "/usr/local/lib/vacations"
  1676.  
  1677.     Restrictions: plus, minus, and length may not cross over to the next or
  1678.     previous year, you cannot define New Year's as "last/last plus 1 day".
  1679. %% print
  1680.     PRINT
  1681.  
  1682.     The print mode determines whether a year, month, or week calendar is
  1683.     printed. Week views can be printed in landscape (sideways) or Portrait
  1684.     mode; landscape uses larger print but has less space for long or very
  1685.     crowded calendars.
  1686.  
  1687.     The "omission" flags, if turned on, remove all appointments or the
  1688.     private appointments (those with a padlock in the appointment entry
  1689.     menu) from the printed calendar.
  1690.  
  1691.     The spooler string is a shell command line that accepts the PostScript
  1692.     calendar and prints it on a printer. Typical values are "lp" (on SGI
  1693.     and other System V derived systems) or "lpr" (on BSD derived systems).
  1694.     Redirection is also possible; use "cat > /tmp/file" to redirect the
  1695.     PostScript output to a file. If printing of month and year calendars
  1696.     fails, make sure that the "plan_cal.ps" PostScript skeleton file
  1697.     exists (see Troubleshooting). Some systems require backquoting command
  1698.     strings with shell metacharacters, as in `pr | lpr`.
  1699.  
  1700.     Press Print to start printing, or Cancel to remove the popup without
  1701.     printing.
  1702. %% print_print
  1703.     PRINT
  1704.  
  1705.     Print the calendar specified by the mode select buttons, using the
  1706.     shell command string specified in the spooler text area.
  1707. %% print_cancel
  1708.     CANCEL
  1709.  
  1710.     Remove the print popup without printing anything. The spooler string,
  1711.     if changed, remains changed.
  1712.